树莓派 篇一:电子书阅读的新姿势 您所在的位置:网站首页 树莓派 zerotier 树莓派 篇一:电子书阅读的新姿势

树莓派 篇一:电子书阅读的新姿势

2023-05-12 11:27| 来源: 网络整理| 查看: 265

树莓派 篇一:电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问 2020-04-01 21:19:07 24点赞 311收藏 18评论

服务器在以前只存在公司或者电信运营商的机房里,需要昂贵的设备和苛刻的环境还有专业人员的维护,是普通人家庭根本不太可能拥有的。

而现在,随着电子设备性能越来越强大,越来越多的人可以自己在家搭建服务器了。

兼顾性能与功耗,我选择了树莓派,于我而言足矣。

当然你也可以根据自己喜好来选择满足自己需求的设备,可以是群晖之类的NAS,也可以是惠普 Gen8之类的微型服务器,如果自己家有独立的机房,也可以立服务器机柜,装机架服务器。

先有需求,再谈配置。

系统根据自己的实际需要,装了Raspbian,日常主要用到功能就是电视上看看下载的电影,手机上的照片备件,电子书等文件存档,内网穿透,将家里的服务映射到外网,使用服务不局限于局域网,实现随时随地访问。

samba -----------------局域网文件共享

sshfs------------------广域网文件共享

ssh------------ -------远程管理

vnc/xrdp---------------远程桌面

aria2/transmission-----远程下载

nextcloud--------------私有云

syncthing---------------文件同步

nginx-------------------web服务

frp---------------------内网穿透

emby/jellyfin-----------视频管理

calibre-----------------电子书管理

这里只涉及树莓派上的calibre电子书管理,其他的如有需要,以后再补坑。

介绍

Calibre 是一款免费、开源的电子书管理软件,涵盖了多个平台,让你可以随时访问下载你的电子书,特别是使用 kindle。Calibre可以安装多个平台(Windows/macOS/Linux),本文主要介绍 Calibre 在树莓派上的部署和使用。

方案对比

如果是在群晖上,可以使用docker 安装,简单方便,在树莓派上也可以使用docker安装,但是出于性能上的考虑,我选择了直接安装,毕竟多了额外的虚拟机开销。

另外也有人会配合calibre-web使用来提供web服务,虽说功能可能会多一点,界面会好看一些,但是我个人觉得没必要。

Calibre-web 是用 python 写的服务端,界面美观,功能全面,有原作者提供的现成 Docker 可以用,不过有不少人评论服务不是很稳定。

使用Calibre自带的web共享服务已经中足够满足我的需要,利用calibre-server 服务同样可以在不打开图形界面的情况下提供服务,我觉得是最节省资源的性能最优方案。

环境准备

树莓派3B/树莓派4

树莓派安装好 Raspbian 系统

nginx(可选,如果不需要在外网访问的话)

frp或者其他内网穿透工具(可选,如果不需要在外网访问的话)

域名(可选,如果不需要在外网访问的话)

安装 Calibre

更新源

sudo apt-get update

安装Calibre

sudo apt-get install calibre

图形化界面初始化设置

利用vnc/xrdp远程打开图形界面,打开软件:开始-办公-calibre

开始-办公-calibre开始-办公-calibre

欢迎向导 - 选择语言 -选择书库位置(默认是用户pi的主目录,可以改到移动硬盘的某个目录,我这里是/media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/'Calibre 书库',注意文件夹名带空格要打引号)

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

选择电子书阅读设备。

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

配置邮箱,这里选择Hotmail(windows live mail)。

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

配置完成。

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

从文件夹导入书籍,然后就可以关闭软件了。

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

以上操作也可以在非图形化界面上完成。

命令行初始化设置

更新源

sudo apt-get update

安装 xvfb

sudo apt-get install xvfb

安装 imagemagick

sudo apt-get install imagemagick

创建 Calibre Library

mkdir /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/'Calibre 书库'

mkdir /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/books

先添加一本 mobi 格式的电子书到/media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/books,然后使用使用calibredb命令通过我们之前安装的xvfb虚拟显示将这些书添加到 Calibre 数据库:

# 添加

xvfb-run calibredb add /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/books/* --library-path /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/'Calibre 书库'

# 列表

xvfb-run calibredb list --library-path /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/'Calibre 书库'

# 删除,id 在 list 中可得

xvfb-run calibredb remove id --library-path /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/'Calibre 书库'

图形界面启动服务

Calibre web 服务可以通过图形界面开启,但是图形界面的开机启动不太方便。

连接/共享 - 启动内容服务器

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

服务随软件自动运行

电子书阅读的新姿势——用树莓派搭建Calibre电子书Web服务器与frp内网穿透公网访问

命令行启动服务

calibre-server --port=8080 /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/'Calibre 书库'

systemd自启动服务

编写 calibre-server.service 文件。

sudo nano /etc/systemd/system/calibre-server.service

内容:

[Unit]Description=calibre content serverAfter=network.target

[Service]Type=simpleUser=rootGroup=rootExecStart=/usr/bin/calibre-server --port=8080 /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/'Calibre 书库'[Install]WantedBy=multi-user.target

然后enable起来,试一下.

sudo systemctl enable calibre-server

sudo systemctl daemon-reload

sudo systemctl restart calibre-server

sudo systemctl status calibre-server

然后,打开浏览器 http://你的树莓派IP:8080 ,即可。

frp内网穿透

frp配置

github

有中文说明很详细。

nano ~/frp/frpc.ini

内容

[pi_calibre]

type = tcp

local_ip = 127.0.0.1

local_port = 8080

remote_port = 8088

然后,就可以通过 http://你的frp服务器外网IP:8088 访问了。

域名访问

使用acme.sh申请Let's Encrypt 免费HTTPS证书,记住证书和Key的位置。

github

有中文说明很详细。

wget https://get.acme.sh | sh

acme.sh --issue --dns dns_ali --force -d 你的域名 # Let’s Encrypt 证书自动生成

.acme.sh/acme.sh --upgrade --auto-upgrade #自动更新

nginx 配置

nano /etc/nginx/conf.d/calibre.conf

内容

server {

# listen 80;

listen 443 ssl;

server_name 你的域名;

ssl_certificate /home/pi/.acme.sh/你的域名/你的域名.cer;#你的域名证书位置

ssl_certificate_key /home/pi/.acme.sh/你的域名/你的域名.key;#你的域名证书Key位置

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置

ssl_prefer_server_ciphers on;

location / {

proxy_pass http://127.0.0.1:8080/;

}

然后,就在任何地点通过 https://你的域名 访问你的电子书库了。

我的另外一个部署在树莓派上的电子书网站提供电子书下载服务。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有